package ThreadPool;

import java.util.concurrent.*;

public class ThreadPoolExecutor1 {
    public static void main(String[] args) {
        // 创建忽略最新任务的线程池
        ThreadPoolExecutor executor = new ThreadPoolExecutor(
                5, // 核心线程数
                10, // 最大线程数
                60, // 空闲线程存活时间
                TimeUnit.SECONDS, // 时间单位
                new LinkedBlockingQueue<>(100), // 任务队列（容量100）
                Executors.defaultThreadFactory(), // 默认线程工厂
                new ThreadPoolExecutor.DiscardPolicy() // 忽略最新任务的拒绝策略
        );

        // 测试执行
        for (int i = 0; i < 100; i++) {
            Thread t = new Thread(() -> {
                System.out.println(Thread.currentThread().getName() + "已执行!");
            });
            t.start();
        }
    }
}
